Polymorphic lambda calculus and subtyping
نویسندگان
چکیده
منابع مشابه
Polymorphic lambda calculus and subtyping
We present a denotational model for F<, the extension of second-order lambda calculus with subtyping defined in [Cardelli Wegner 1985]. Types are interpreted as arbitrary cpos and elements of types as natural transformations. We prove the soundness of our model with respect to the equational theory of F< [Cardelli et al. 1991] and show coherence. Our model is of independent interest, because it...
متن کاملAn Introduction to Polymorphic Lambda Calculus with Subtyping
In this paper, an elaborate overview is presented of several extensions of standard lambda calculus. We start out with a description of untyped lambda calculus. Then we add explicit types and show how polymorphism can be introduced. Next we give a description of a higher order polymorphic typed lambda calculus. In this system (called Fω) types, type constructors, constructors of type constructo...
متن کاملRegion Analysis and the Polymorphic Lambda Calculus
We show how to translate the region calculus of Tofte and Talpin, a typed lambda calculus that can statically delimit the lifetimes of objects, into an extension of the polymorphic lambda calculus called F#. We give a denotational semantics of F#, and use it to give a simple and abstract proof of the correctness of memory deallocation.
متن کاملAn Introduction to the Polymorphic Lambda Calculus
The polymorphic (or second-order) typed lambda calculus was invented by Jean-Yves Girard in 1971 11, 10], and independently reinvented by myself in 1974 24]. It is extraordinary that essentially the same programming language was formulated independently by the two of us, especially since we were led to the language by entirely diierent motivations. In my own case, I was seeking to extend conven...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Theoretical Computer Science
سال: 2002
ISSN: 0304-3975
DOI: 10.1016/s0304-3975(00)00333-9